#region Using
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
#endregion Using

namespace CY.GFive.Core.Business
{
	public class Student : Business.BusinessBase<Student, int>
	{
		#region Fields and Properties

		private DateTime registeDate = DateTime.MinValue;
		/// <summary>
		/// 
		/// </summary>
		public DateTime RegisteDate
		{
			get { return registeDate; }
			set
			{
				if (value != registeDate)
				{
					MarkChanged("RegisteDate");
					registeDate = value;
				}
			}
		}

		private String des = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String Des
		{
			get { return des; }
			set
			{
				if (value != des)
				{
					MarkChanged("Des");
					des = value;
				}
			}
		}

		private String email = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String Email
		{
			get { return email; }
			set
			{
				if (value != email)
				{
					MarkChanged("Email");
					email = value;
				}
			}
		}

		private String stdAddress = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String StdAddress
		{
			get { return stdAddress; }
			set
			{
				if (value != stdAddress)
				{
					MarkChanged("StdAddress");
					stdAddress = value;
				}
			}
		}

		private String grdSchool = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String GrdSchool
		{
			get { return grdSchool; }
			set
			{
				if (value != grdSchool)
				{
					MarkChanged("GrdSchool");
					grdSchool = value;
				}
			}
		}

		private Boolean overSea = default(Boolean);
		/// <summary>
		/// 
		/// </summary>
		public Boolean OverSea
		{
			get { return overSea; }
			set
			{
				if (value != overSea)
				{
					MarkChanged("OverSea");
					overSea = value;
				}
			}
		}

		private String origin = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String Origin
		{
			get { return origin; }
			set
			{
				if (value != origin)
				{
					MarkChanged("Origin");
					origin = value;
				}
			}
		}

		private String politicalCode = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String PoliticalCode
		{
			get { return politicalCode; }
			set
			{
				if (value != politicalCode)
				{
					MarkChanged("PoliticalCode");
					politicalCode = value;
				}
			}
		}

		private String registedCode = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String RegistedCode
		{
			get { return registedCode; }
			set
			{
				if (value != registedCode)
				{
					MarkChanged("RegistedCode");
					registedCode = value;
				}
			}
		}

		private String zip_Code = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String Zip_Code
		{
			get { return zip_Code; }
			set
			{
				if (value != zip_Code)
				{
					MarkChanged("Zip_Code");
					zip_Code = value;
				}
			}
		}

		private String corTypeCode = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String CorTypeCode
		{
			get { return corTypeCode; }
			set
			{
				if (value != corTypeCode)
				{
					MarkChanged("CorTypeCode");
					corTypeCode = value;
				}
			}
		}

		private String corSchlCode = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String CorSchlCode
		{
			get { return corSchlCode; }
			set
			{
				if (value != corSchlCode)
				{
					MarkChanged("CorSchlCode");
					corSchlCode = value;
				}
			}
		}

		private String phone = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String Phone
		{
			get { return phone; }
			set
			{
				if (value != phone)
				{
					MarkChanged("Phone");
					phone = value;
				}
			}
		}

		private String admissTypeCode = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String AdmissTypeCode
		{
			get { return admissTypeCode; }
			set
			{
				if (value != admissTypeCode)
				{
					MarkChanged("AdmissTypeCode");
					admissTypeCode = value;
				}
			}
		}

		private DateTime birthday = DateTime.MinValue;
		/// <summary>
		/// 
		/// </summary>
		public DateTime Birthday
		{
			get { return birthday; }
			set
			{
				if (value != birthday)
				{
					MarkChanged("Birthday");
					birthday = value;
				}
			}
		}

		private String nation = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String Nation
		{
			get { return nation; }
			set
			{
				if (value != nation)
				{
					MarkChanged("Nation");
					nation = value;
				}
			}
		}

		private String residenceType = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String ResidenceType
		{
			get { return residenceType; }
			set
			{
				if (value != residenceType)
				{
					MarkChanged("ResidenceType");
					residenceType = value;
				}
			}
		}

		private String residenceName = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String ResidenceName
		{
			get { return residenceName; }
			set
			{
				if (value != residenceName)
				{
					MarkChanged("ResidenceName");
					residenceName = value;
				}
			}
		}

		private String professCode = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String ProfessCode
		{
			get { return professCode; }
			set
			{
				if (value != professCode)
				{
					MarkChanged("ProfessCode");
					professCode = value;
				}
			}
		}

		private DateTime admissDate = DateTime.MinValue;
		/// <summary>
		/// 
		/// </summary>
		public DateTime AdmissDate
		{
			get { return admissDate; }
			set
			{
				if (value != admissDate)
				{
					MarkChanged("AdmissDate");
					admissDate = value;
				}
			}
		}

		private int gender = 0;
		/// <summary>
		/// 
		/// </summary>
		public int Gender
		{
			get { return gender; }
			set
			{
				if (value != gender)
				{
					MarkChanged("Gender");
					gender = value;
				}
			}
		}

		private String indentifyCode = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String IndentifyCode
		{
			get { return indentifyCode; }
			set
			{
				if (value != indentifyCode)
				{
					MarkChanged("IndentifyCode");
					indentifyCode = value;
				}
			}
		}

		private String stdCate = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String StdCate
		{
			get { return stdCate; }
			set
			{
				if (value != stdCate)
				{
					MarkChanged("StdCate");
					stdCate = value;
				}
			}
		}

		private String indentifyType = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String IndentifyType
		{
			get { return indentifyType; }
			set
			{
				if (value != indentifyType)
				{
					MarkChanged("IndentifyType");
					indentifyType = value;
				}
			}
		}

		private String stdState = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String StdState
		{
			get { return stdState; }
			set
			{
				if (value != stdState)
				{
					MarkChanged("StdState");
					stdState = value;
				}
			}
		}

		private String usedName = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String UsedName
		{
			get { return usedName; }
			set
			{
				if (value != usedName)
				{
					MarkChanged("UsedName");
					usedName = value;
				}
			}
		}

		private String stdName = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String StdName
		{
			get { return stdName; }
			set
			{
				if (value != stdName)
				{
					MarkChanged("StdName");
					stdName = value;
				}
			}
		}

		private String code = String.Empty;
		/// <summary>
		/// 
		/// </summary>
		public String Code
		{
			get { return code; }
			set
			{
				if (value != code)
				{
					MarkChanged("Code");
					code = value;
				}
			}
		}

		#endregion Fields and Properties

		#region Constructors

		public Student()
		{
		}

		#endregion Constructors

		#region Base overrides

		protected override void ValidationRules()
		{
		}

		protected override Student DataSelect(int id)
		{
			return Services.DALService.StudentService.Select(id);
		}

		protected override void DataUpdate()
		{
			Services.DALService.StudentService.Update(this);
		}

		protected override void DataInsert()
		{
			Services.DALService.StudentService.Insert(this);
		}

		protected override void DataDelete()
		{
			Services.DALService.StudentService.Delete(this);
		}

		#endregion Base overrides
	}
}
